package com.tm.media.login.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.tm.media.login.service.ApUserIdentityService;
import com.tm.media.utils.utils.PageUtil;
import com.tm.media.model.entity.ApUserIdentity;
import com.tm.media.model.mapper.ApUserIdentityMapper;
import com.tm.media.utils.utils.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.time.LocalDateTime;

@Service
public class ApUserIdentityServiceImpl extends ServiceImpl<ApUserIdentityMapper, ApUserIdentity> implements ApUserIdentityService {
    @Autowired
    private ApUserIdentityMapper apUserIdentityMapper;
    @Override
    public Result selectList(PageUtil pageUtil) {
        Page<ApUserIdentity> page = new Page<>(pageUtil.getPage(),pageUtil.getSize());
        QueryWrapper<ApUserIdentity> queryWrapper = new QueryWrapper<>();
        if (pageUtil.getStatus()==null){
            queryWrapper.eq("status",1);
        }else {
            queryWrapper.eq("status",pageUtil.getStatus());
        }
            //2 执行分页查询
        IPage<ApUserIdentity> iPage = apUserIdentityMapper.selectPage(page, queryWrapper);
        Integer integer = apUserIdentityMapper.selectCount(queryWrapper);
        iPage.setTotal(integer);
        return Result.SUCCESS(iPage);
    }

    /**
     * 通过
     * @param apUserIdentity
     * @return
     */
    @Override
    public Result authPass(ApUserIdentity apUserIdentity) {
        //修改状态为通过
        apUserIdentity.setStatus(9);
        //获取提交时间
        apUserIdentity.setSubmitedTime(LocalDateTime.now());
        apUserIdentityMapper.updateById(apUserIdentity);
        return Result.SUCCESS(200);
    }

    @Override
    public Result authFail(ApUserIdentity apUserIdentity) {
        ApUserIdentity apUserIdentity1 = new ApUserIdentity();
        //修改状态为通过
        apUserIdentity.setStatus(2);
        //获取提交时间
        apUserIdentity.setSubmitedTime(LocalDateTime.now());
        //拒绝原因
        apUserIdentity.setReason(apUserIdentity.getMsg());
        apUserIdentityMapper.updateById(apUserIdentity);
        return Result.SUCCESS(200);
    }
}
